package com.woniuxy.staticproxy.factory.impl;

import com.woniuxy.staticproxy.factory.Brand;

/**
 * 商店，也是一个代理，工厂代理品牌进行制造，商品只是代理品牌的售卖
 */
public class ShopProxy implements Brand {

    @Override
    public void cocalColaBrand() {
        //对工厂的方法进行了增强  前置增强
        System.out.println("预留一个可口可乐专柜");

        //从工厂进货  在代码中，new了其他的对象这个就叫耦合
        CoCalColaFactory coCalColaFactory = new CoCalColaFactory();
        //工厂加工可口可乐
        coCalColaFactory.cocalColaBrand();

        //定义代理商的行为  后置增强
        System.out.println("把买来的可乐，放到柜子上，然后3块一瓶！");
    }

    @Override
    public void blueMountainCoffee() {
//        System.out.println("代理类，增强 被代理的方法，前置增强！准备去购买……");
        CoCalColaFactory coCalColaFactory = new CoCalColaFactory();
        coCalColaFactory.blueMountainCoffee();
//        System.out.println("后置增强：上架");
    }
}
